<?php

namespace App\Enums\Notification;

use App\NotificationActions\NotificationActionInterface;

enum CounterNotify : string implements NotificationEnumInterface
{
    // 订单退款
    case OrderRefund = 'order_refund';

    // 购物车清空
    case CartClear = 'cart_clear';

    // 预结账单打印
    case PreCheckOutPrint = 'pre_check_out_print';

    // 卡片充值异常
    case CardRechargeException = 'card_recharge_exception';

    // 挂单
    case HangUp = 'hang_up';

    // 库存操作
    case InventoryOperation = 'inventory_operation';

    public function label()
    {
        return match ($this) {
            self::OrderRefund => '订单退款',
            self::CartClear => '购物车清空',
            self::PreCheckOutPrint => '预结账单打印',
            self::CardRechargeException => '卡片充值异常',
            self::HangUp => '挂单',
            self::InventoryOperation => '库存操作',
        };
    }

    public function action() : NotificationActionInterface|null
    {
        return null;
    }
}
